<template>
  <div class="container">
    <div class="topTitleBox boxBorder" v-hasBtn="'insuranceOrder:update'">
      <i
        v-if="!isXM || $route.query.fromPath === 'enterpriseHistoryScoreListXM'"
        class="icon iconfont iconfanhui1"
        @click="goBack"
      ></i>
      <span
        v-if="
          $route.query.fromPath === 'enterpriseHistoryScoreList' ||
          $route.query.fromPath === 'enterpriseHistoryScoreListXM'
        "
        class="title"
        >{{ isXM ? '项目历史评价详情' : '企业历史评价详情' }}</span
      >
      <span v-else class="title">{{
        isXM ? '项目评价详情' : '企业评价详情'
      }}</span>
      <el-button
        v-if="isXM && $route.query.fromPath != 'enterpriseHistoryScoreListXM'"
        type="primary"
        @click="toHistoryList"
        class="commonBtn jumpBtn"
      >
        <span>查看历史评价</span>
      </el-button>
    </div>
    <div class="info">
      <el-row class="topBox">
        <div class="fl">
          <el-select
            v-if="isXM"
            v-model="projectId"
            value-key="projectId"
            placeholder="暂无关联项目"
          >
            <el-option
              v-for="(item, index) of projectList"
              :key="index"
              :label="item.name"
              :value="item.code"
              :title="item.name"
              @click.native="changeProject(item.code)"
            ></el-option>
          </el-select>
          <div
            v-else
            style="
              line-height: 36px;
              font-size: 18px;
              color: #333;
              text-align: left;
              font-weight: bold;
            "
          >
            {{ project.projectName }}
          </div>
        </div>
        <div class="fl">
          <span :class="classStatus">{{ project.statusDesc }}</span>
        </div>
      </el-row>
      <p class="projectInfo">
        <span class="line">建档日期：{{ project.createTime || '--' }}</span>
        <span class="line">开工日期：{{ project.startDate || '--' }}</span>
        <span>建设周期：{{ project.cycle || '-- ' }}天</span>
      </p>
    </div>
    <div class="spacing"></div>
    <div class="mainCon">
      <div class="grid-content bg-purple" v-if="isScore">
        <div class="infoBox">
          <div class="subBox">
            <div class="companyName fl">
              <i :class="iconClass"></i>
              <span class="companyTit ellipsis"
                >{{ companyProjectScore.typeDesc || '--' }}:{{
                  companyProjectScore.companyName || '--'
                }}</span
              >
            </div>
            <div class="rating fr">
              <span class="score fontColorTheme">
                <span
                  v-if="
                    $route.query.fromPath === 'enterpriseHistoryScoreList' ||
                    $route.query.fromPath === 'enterpriseHistoryScoreListXM'
                  "
                  >{{
                    $route.query.year +
                    '-' +
                    $route.query.month +
                    '-' +
                    $route.query.day
                  }}
                  /
                </span>
                <span>{{
                  companyProjectScore.score == null
                    ? '-- '
                    : companyProjectScore.score
                }}</span>
                分 / 评级：
                <span>{{
                  companyProjectScore.gradeLevel
                    ? companyProjectScore.gradeLevel === 'O'
                      ? '其他'
                      : companyProjectScore.gradeLevel
                    : '--'
                }}</span>
              </span>
              <span
                v-if="
                  !(
                    $route.query.fromPath === 'enterpriseHistoryScoreList' ||
                    $route.query.fromPath === 'enterpriseHistoryScoreListXM'
                  )
                "
                class="time fS color999"
              >
                <span>评价更新时间：</span>
                <span>{{ companyProjectScore.scoreUpdateTime || '--' }}</span>
              </span>
            </div>
          </div>
        </div>
        <div class="pointBox">
          <el-row style="font-weight: 560; color: #333333">
            存在
            <span style="color: #e02020">{{ total }}</span> 项扣分
          </el-row>
          <div class="noDeduction" v-if="negetivePoints.length < 1">
            <img src="../../../static/img/noData.png" alt />
            <div class="text fS color999">暂无扣分项</div>
          </div>
          <!-- 扣分项 -->
          <div v-if="negetivePoints.length > 0">
            <div class="deduction" v-for="(item, i) in negetivePoints" :key="i">
              <p class="dedTitle fS">
                <span class="name">{{ item.name }}</span>
                <span class="count"
                  >(根据项目数据，存在{{ item.count }}项扣分)</span
                >
              </p>
              <div>
                <ul>
                  <li
                    class="mrT12"
                    v-for="(itemChild, j) in item.indexs"
                    :key="j"
                  >
                    <div
                      class="clearfix"
                      @click="goRepair(i, j, itemChild.id)"
                      style="position: relative"
                    >
                      <i
                        class="icon iconfont iconzhankai"
                        style="
                          color: #e02020;
                          font-size: 12px;
                          position: absolute;
                          top: 7px;
                        "
                        v-if="isShowDetail !== i + '/' + j"
                      ></i>
                      <i
                        class="icon iconfont iconshouqi"
                        style="
                          color: #e02020;
                          font-size: 12px;
                          position: absolute;
                          top: 7px;
                        "
                        v-if="isShowDetail === i + '/' + j"
                      ></i>
                      <span
                        class="dedCon fS ellipsis"
                        style="width: 60%; margin-left: 20px"
                        :title="
                          itemChild.reason
                            ? itemChild.reason.indexOf('2、扣分明细') > -1
                              ? itemChild.reason
                                  .split('2、扣分明细')[0]
                                  .split('扣分原因：')[1]
                              : itemChild.reason.indexOf('扣分原因：') > -1
                              ? itemChild.reason.split('扣分原因：')[1]
                              : itemChild.reason
                            : '--'
                        "
                        >{{
                          itemChild.reason
                            ? itemChild.reason.indexOf('2、扣分明细') > -1
                              ? itemChild.reason
                                  .split('2、扣分明细')[0]
                                  .split('扣分原因：')[1]
                              : itemChild.reason.indexOf('扣分原因：') > -1
                              ? itemChild.reason.split('扣分原因：')[1]
                              : itemChild.reason
                            : '--'
                        }}</span
                      >
                      <el-button
                        size="small"
                        class="funBut fr"
                        v-if="isShowDetail !== i + '/' + j"
                        >修复</el-button
                      >
                      <el-button
                        size="small"
                        class="funBut fr"
                        v-if="isShowDetail === i + '/' + j"
                        >{{ isOpenText }}</el-button
                      >
                      <span class="dedCon fr fS" v-if="!itemChild.gradeLevel"
                        >-{{ itemChild.score }}分</span
                      >
                      <span class="dedCon fr fS" v-if="itemChild.gradeLevel"
                        >定级{{
                          itemChild.gradeLevel
                            ? itemChild.gradeLevel === 'O'
                              ? '其他'
                              : itemChild.gradeLevel
                            : '--'
                        }}</span
                      >
                    </div>
                    <el-collapse-transition>
                      <div
                        class="rankDetail"
                        v-if="isShowDetail === i + '/' + j"
                      >
                        <div>
                          <div class="clearfix">
                            <p class="conTitle fl">
                              {{ specificData.indexName }}
                            </p>
                            <p
                              class="fr pointsLevel"
                              v-if="specificData.gradeLevel"
                            >
                              定级{{
                                specificData.gradeLevel
                                  ? specificData.gradeLevel === 'O'
                                    ? '其他'
                                    : specificData.gradeLevel
                                  : '--'
                              }}
                            </p>
                            <p
                              class="fr pointsLevel"
                              v-if="!specificData.gradeLevel"
                            >
                              -{{ specificData.score }}分
                            </p>
                          </div>
                          <p class="labelWidth clearfix">
                            <span class="fS fl">扣分原因：</span>
                            <span class="fS fl w80">
                              {{
                                specificData.reason
                                  ? specificData.reason.indexOf('2、扣分明细') >
                                    -1
                                    ? specificData.reason
                                        .split('2、扣分明细')[0]
                                        .split('扣分原因：')[1]
                                    : specificData.reason.indexOf(
                                        '扣分原因：'
                                      ) > -1
                                    ? specificData.reason.split('扣分原因：')[1]
                                    : specificData.reason
                                  : '--'
                              }}
                              <el-link
                                v-if="
                                  specificData.reason &&
                                  specificData.reason.indexOf('2、扣分明细') >
                                    -1
                                "
                                @click="showScoreDetail(itemChild.id)"
                                class="reduceDetail"
                                >扣分明细</el-link
                              >
                            </span>
                          </p>
                          <p class="labelWidth clearfix">
                            <span class="fS fl">责任主体：</span>
                            <span class="fS fl w80">
                              <span
                                class="type fontBorderTheme fontColorTheme"
                                >{{ specificData.typeDesc }}</span
                              >
                              {{ specificData.companyName }}
                            </span>
                          </p>
                          <p class="labelWidth clearfix">
                            <span class="fS fl">评价标准：</span>
                            <span class="fS fl w80">{{
                              specificData.evaluateStandard
                            }}</span>
                          </p>
                          <p class="labelWidth clearfix">
                            <span class="fS fl">参考条例：</span>
                            <span class="fS fl w80">{{
                              specificData.referenceRules
                            }}</span>
                          </p>
                        </div>
                        <div class="way">
                          <p class="fS repair">如何修复</p>
                          <!-- <div
                                                        v-html="specificData.repairTips"
                                                        class="howRepair"
                                                    ></div>-->
                          <p class="labelWidth clearfix">
                            <span class="fS fl">修复方式：</span>
                            <span class="fS fl w80">{{
                              specificData.repairTips
                            }}</span>
                          </p>
                        </div>
                      </div>
                    </el-collapse-transition>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="noDeduction" v-else>
        <img src="../../../static/img/noData.png" alt />
        <div class="text fS color999">暂无评价数据</div>
      </div>
    </div>
    <ReduceDialog
      :scoreDetailVisible="scoreDetailVisible"
      :reduceScoreDetail="reduceScoreDetail"
      @closeDialog="closeDialog"
    ></ReduceDialog>
  </div>
</template>

<script>
import ReduceDialog from './ReduceDialog'
export default {
  name: 'scoreDetail',
  components: {
    ReduceDialog,
  },
  data() {
    return {
      scoreDetailVisible: false, //扣分明细弹窗
      reduceScoreDetail: {
        detailId: '',
        type: '',
        reduceScoreDetailInfo: [],
      },
      page: '',
      isXM: false,
      isScore: false, //项目是否参评
      projectList: [],
      projectId: '',
      project: {},
      companyProjectScore: {},
      total: '',
      isShowDetail: '',
      isOpenText: '', //扣分
      negetivePoints: [],
      specificData: {},
      curEnterpriseInfo: {},
    }
  },
  computed: {
    iconClass() {
      if (this.companyProjectScore.type === '0') {
        return 'iconfont iconjianshedanwei'
      } else if (this.companyProjectScore.type === '5') {
        return 'iconfont iconshigongdanwei'
      } else if (this.companyProjectScore.type === '10') {
        return 'iconfont iconfenbaodanwei'
      } else {
        return
      }
    },
    classStatus() {
      if (this.project.status === 'STARTED') {
        return 'startStatus'
      } else if (this.project.status === 'NOT_STARTED') {
        return 'startStatus noStart'
      } else if (this.project.status === 'STOPPED') {
        return 'startStatus startStop'
      } else if (this.project.status === 'COMPLETED') {
        return 'startStatus StartOver'
      } else {
        return
      }
    },
  },
  async created() {
    if (
      this.$store.state.userType == 'PROJECT_ADMINISTRATOR' ||
      this.$store.state.userType == 'LABOR_ADMINISTRATOR'
    ) {
      await this.getProjectList()
      this.getProjectDetail(this.projectId, this.$route.query)
      this.isXM = true
    } else {
      await this.getEnterpriseDetail(this.$route.query)
      // if(this.$route.query.fromPath==='enterpriseHistoryScoreList'){
      //     await this.getCurEnterpriseInfo(this.$route.query);
      // }
    }
    if (this.$route.query.page) {
      this.page = this.$route.query.page
    }
    // this.isShowDetail =
    //     this.$store.state.buttonLimitsArr.indexOf("scoreDetail:detail") > -1;
  },
  methods: {
    // 项目端企业历史评价
    toHistoryList() {
      this.$router.push({
        path: '/home/enterpriseScore/enterpriseHistoryScoreListXM',
        name: 'enterpriseHistoryScoreListXM',
        query: {
          uscc: this.companyProjectScore.uscc,
        },
      })
      this.$store.commit('CHANGE_SLIDER_NAME', {
        oldUrl: '/home/enterpriseScore/scoreDetail',
        newUrl: this.$router.currentRoute.fullPath,
      })
    },
    // 扣分明细弹窗
    showScoreDetail(detailId) {
      return this.axios({
        method: 'post',
        url: 'api-ps/creditDeductionDetail/expand/getCreditDedDetail',
        data: {
          detailId,
        },
      })
        .then((response) => {
          if (response.data.hasError) {
            this.$message.error(response.data.errorMsg)
          } else {
            const results = response.data.result
            this.reduceScoreDetail.type = results.type
            if (results.type == '1') {
              this.handleData(results, 'names')
            } else if (results.type == '2') {
              this.handleData(results, 'recordTimes')
            } else {
              this.handleData(results, 'timeAndName')
            }
            this.scoreDetailVisible = true
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
    // 处理明细数据
    handleData(results, detailName) {
      if (
        this.specificData.reason &&
        this.specificData.reason.indexOf('扣分明细：') > -1
      ) {
        let reduceStr = this.specificData.reason.split('扣分明细：')[1]
        if (reduceStr.indexOf('b') > -1) {
          // 存在未代发或补发或两条明细（A为补发）
          let reduceReason = this.specificData.reason
            .split('扣分明细：')[0]
            .split('扣分原因：')[1]
          let detailInfo = {}
          if (reduceReason.split('/')[0].indexOf('存在0') === -1) {
            detailInfo.title = reduceStr.split('b')[0].split('a')[1]
            let notIssued = null
            notIssued = results[detailName].filter((v) => {
              if (v.indexOf('A') === -1) {
                return v
              }
            })
            detailInfo.detail = notIssued
            this.reduceScoreDetail.reduceScoreDetailInfo.push(
              JSON.parse(JSON.stringify(detailInfo))
            )
          }
          if (reduceReason.split('/')[1].indexOf('存在0') === -1) {
            detailInfo = {}
            detailInfo.title = reduceStr.split('b')[1]
            let reissue = []
            results[detailName].forEach((v) => {
              if (v.indexOf('A') > -1) {
                reissue.push(v.split('A')[1])
              }
            })
            detailInfo.detail = reissue
            this.reduceScoreDetail.reduceScoreDetailInfo.push(
              JSON.parse(JSON.stringify(detailInfo))
            )
          }
        } else {
          this.reduceScoreDetail.reduceScoreDetailInfo[0] = {}
          this.reduceScoreDetail.reduceScoreDetailInfo[0].title = reduceStr
          if (detailName === 'timeAndName') {
            let detailArr = []
            let detailNameArr = Object.keys(results[detailName])
            for (let i = 0; i < detailNameArr.length; i++) {
              detailArr[i] = {}
              detailArr[i].month = detailNameArr[i]
              detailArr[i].name = JSON.parse(
                JSON.stringify(results[detailName][detailNameArr[i]])
              )
            }
            this.reduceScoreDetail.reduceScoreDetailInfo[0].detail = JSON.parse(
              JSON.stringify(detailArr)
            )
          } else {
            this.reduceScoreDetail.reduceScoreDetailInfo[0].detail = JSON.parse(
              JSON.stringify(results[detailName])
            )
          }
        }
      }
    },
    closeDialog() {
      this.scoreDetailVisible = false
      this.reduceScoreDetail.reduceScoreDetailInfo = []
    },
    //获取项目列表
    getProjectList() {
      return this.axios({
        method: 'post',
        url: 'api-p/projectcompany/expand/current/projects',
        data: {
          type: 'companyScore',
        },
      })
        .then((response) => {
          if (!response.data.hasError) {
            let data = response.data.result
            if (data.length > 0) {
              this.projectList = data
              this.projectId = data[0].code
            }
          } else {
            this.$message.error(response.data.errorMsg)
          }
        })
        .catch((error) => {
          this.$message.error('项目列表数据获取失败')
        })
    },
    changeProject(projectId) {
      this.projectId = projectId
      this.getProjectDetail(this.projectId, this.$route.query)
    },
    // 监察企业端获取项目评分详情
    getEnterpriseDetail({
      companyProjectScoreId,
      projectId,
      type,
      uscc,
    } = query) {
      let data = { companyProjectScoreId, type, projectId, uscc }
      return this.axios({
        method: 'post',
        url: 'api-ps/creditComprojScorDel/expand/getCompanyProjectScoreDetail',
        data,
      })
        .then((response) => {
          if (!response.data.hasError) {
            this.isScore = true
            let results = response.data.result
            this.total = results.totalCount
            this.project = results.project
            this.companyProjectScore = results.companyProjectScore
            this.negetivePoints = results.indexDimList
          } else {
            this.$message.error(response.data.errorMsg)
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
    // 当前日期评分详情
    getCurEnterpriseInfo({ type, uscc, year, month, day } = query) {
      return this.axios({
        method: 'post',
        url: 'api-ps/creditCompanyScore/expand/history',
        data: {
          type,
          uscc,
          year,
          month,
          day,
        },
      })
        .then((response) => {
          if (!response.data.hasError) {
            this.companyProjectScore.score = response.data.result.score
            this.companyProjectScore.gradeLevel =
              response.data.result.gradeLevel
          } else {
            this.$message.error(response.data.errorMsg)
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
    // 项目端获取项目评分详情
    getProjectDetail(projectId, { year, month, day, fromPath } = query) {
      let data = { projectId }
      if (fromPath === 'enterpriseHistoryScoreListXM') {
        Object.assign(data, { year, month, day })
      }
      this.axios({
        method: 'post',
        url: 'api-ps/creditComprojScorDel/expand/getCompanyProjectScoreDetailByProjectAccount',
        data,
      })
        .then((response) => {
          if (!response.data.hasError) {
            this.isScore = true
            let results = response.data.result
            this.total = results.totalCount
            this.project = results.project
            this.companyProjectScore = results.companyProjectScore
            this.negetivePoints = results.indexDimList
          } else {
            this.isScore = false
            if (this.projectId != '') {
              this.getProjectInfo(this.projectId)
            }
            // this.$message.error(response.data.errorMsg);
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
    // 扣分点击显示详情
    async goRepair(index, j, id) {
      this.reduceScoreDetail.detailId = id
      if (this.isShowDetail === index + '/' + j) {
        this.isShowDetail = -1 //在这里就将它赋值为-1  由于：-1 !=  index 所以其他内容隐藏 ，被点击的则打开
      } else {
        await this.getDetailData(id)
        this.isShowDetail = index + '/' + j //这里是把index赋值给isShow，isShow=index则显示
        this.isOpenText = '收起'
        this.isShowBonusPoints = -1
      }
    },
    getDetailData(id) {
      return this.axios({
        method: 'post',
        url: 'api-ps/creditComprojScorDel/expand/getCompanyProjectScoreDetailById',
        data: {
          id,
        },
      })
        .then((resp) => {
          if (!resp.data.hasError) {
            this.specificData = resp.data.result
          } else {
            this.$message.error(response.data.errorMsg)
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
    goBack() {
      if (this.page == 'dataSharingSettings') {
        this.$router.push({
          path: '/home/networkGrid/scoreProjectList',
          name: 'scoreProjectList',
          query: {
            tab: 'qyEvaluation',
          },
        })
        this.$store.commit('GOBACK_NAME', {
          oldUrl: '/home/networkGrid/dataSharingSettings',
          newUrl: this.$router.currentRoute.fullPath,
        })
      } else {
        let path = '/home/enterpriseScore/scoreProjectList'
        let name = 'scoreProjectList'
        let oldUrl = '/home/enterpriseScore/scoreList'
        if (this.$route.query.fromPath === 'enterpriseHistoryScoreList') {
          path = '/home/enterpriseScore/enterpriseHistoryScoreList'
          name = 'enterpriseHistoryScoreList'
        }
        if (this.$route.query.fromPath === 'enterpriseHistoryScoreListXM') {
          path = '/home/enterpriseScore/enterpriseHistoryScoreListXM'
          name = 'enterpriseHistoryScoreListXM'
          oldUrl = '/home/enterpriseScore/scoreDetail'
          if (this.isHsUser()) {
            oldUrl = '/home/enterpriseScore/HSscoreDetail'
          }
        }
        this.$router.push({
          path,
          name,
          query: {
            uscc: this.companyProjectScore.uscc,
            type: this.companyProjectScore.type,
          },
        })
        this.$store.commit('GOBACK_NAME', {
          oldUrl,
          newUrl: this.$router.currentRoute.fullPath,
        })
      }
    },
    getProjectInfo(projectId) {
      return this.axios({
        method: 'post',
        url: '/api-p/project/expand/projectdetail',
        data: {
          projectId,
        },
      })
        .then((response) => {
          if (!response.data.hasError) {
            this.project = response.data.result
          } else {
            this.$message.error(response.data.errorMsg)
          }
        })
        .catch((error) => {
          if (error.response) {
            this.$message.error(error.response.data)
          }
        })
    },
  },
}
</script>

<style scoped lang="less">
.container {
  .topTitleBox {
    height: 54px;
    padding: 0 24px;
    line-height: 54px;
    position: relative;
    &::after {
      position: absolute;
      right: -0px;
      top: 54px;
      left: -0px;
      height: 1px;
      content: '';
      -webkit-transform: scaleY(0.5);
      transform: scaleY(0.5);
      background-color: #e3e7e9;
      z-index: 10;
    }
    .title {
      font-size: 18px;
      color: #333;
      font-weight: 700;
    }
    .jumpBtn {
      width: 136px;
      height: 36px;
      position: absolute;
      top: 50%;
      right: 24px;
      transform: translateY(-50%);
    }
  }
  .info {
    background: #ffffff;
    padding: 20px 24px;
    .topBox {
      /deep/.el-input__inner {
        width: 430px;
        color: #3a3a3a;
        font-size: 24px;
        line-height: 30px;
        text-align: left;
        font-weight: bold;
        border: none;
        height: 30px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding-left: 0;
      }
      /deep/.el-select__caret {
        color: #333;
        font-size: 20px;
        line-height: 36px;
      }
      /deep/.el-input__suffix {
        top: 0 !important;
      }
    }
    .startStatus {
      display: inline-block;
      width: 48px;
      height: 20px;
      line-height: 20px;
      background: #009588;
      color: #fff;
      text-align: center;
      font-size: 12px;
      margin-top: 8px;
      margin-left: 8px;
    }
    .StartOver {
      background: #657282;
    }
    .noStart {
      background: #ffc100;
    }
    .startStop {
      background: #d9544f;
    }
    .dot {
      font-size: 14px;
      color: #666666;
      position: relative;
      // padding-left: 12px;
      // &::before {
      //     content: "";
      //     background: #009588;
      //     border-radius: 50%;
      //     width: 6px;
      //     height: 6px;
      //     position: absolute;
      //     top: 4px;
      //     left: 0;
      // }
    }
  }
  .mainCon {
    height: calc(100% - 67px);
    padding-left: 24px;
    padding-right: 24px;
    overflow-y: auto;
    .infoBox {
      // padding: 16px 22px;
      background: #fff;
      // padding-bottom: 5px;
      .subBox {
        padding-bottom: 20px;
        border-bottom: 1px solid #e3e7e9;
        // height: 44px;
        line-height: 24px;
        &:after {
          content: '';
          height: 0;
          clear: both;
          overflow: hidden;
          display: block;
          visibility: hidden;
        }
      }
      // height: 122px;
      .companyName {
        .iconfont {
          color: #0f76c4;
          font-size: 20px;
        }
        .companyTit {
          font-size: 20px;
          color: #3a3a3a;
          font-weight: bold;
        }
      }
      .rating {
        // margin-top: 19px;
        .score {
          font-size: 24px;
          color: #333333;
          margin-right: 16px;
          font-weight: bold;
        }
        .time {
          font-size: 14px;
          color: #999999;
        }
      }
    }
    .pointBox {
      background: #fff;
      padding: 24px 0;
      /deep/.el-divider__text.is-left {
        left: 0;
      }
      /deep/.el-divider__text {
        padding: 0;
        padding-right: 12px;
        font-size: 16px;
        color: #333333;
      }
      .deduction {
        margin-top: 24px;
        > div {
          padding-left: 96px;
        }
        .dedTitle {
          margin-bottom: 6px;
          .name {
            font-size: 14px;
            color: #333333;
            font-weight: 560;
          }
          .count {
            font-size: 14px;
            color: #333333;
          }
        }
        .funBut {
          color: #009588;
          border-color: #009588;
          background: #fff;
          width: 96px;
          margin-left: 60px;
        }
        .dedCon {
          display: inline-block;
          margin-top: 5px;
          font-size: 14px;
          color: #3a3a3a;
        }
        .rankDetail {
          margin-top: 12px;
          background: #f5f7fa;
          padding: 22px 24px;
          .conTitle {
            margin-bottom: 20px;
            font-size: 16px;
            color: #333333;
            font-weight: 560;
          }
          .way {
            margin-top: 12px;
            /deep/.howRepair {
              span {
                font-size: 14px !important;
                color: #717171 !important;
                font-family: 'Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif' !important;
              }
            }
          }
          .pointsLevel {
            font-size: 24px;
            color: #e83024;
          }
          .type {
            font-size: 12px;
            border: 1px solid #009588;
            padding: 0 2px;
            color: #009588;
            border-radius: 2px;
          }
        }
      }
      .noDeduction {
        text-align: center;
        margin-top: 48px;
        img {
          width: 160px;
          margin-bottom: 15px;
        }
      }
    }
  }
}
.mrT12 {
  margin-top: 12px;
}
.labelWidth {
  margin-bottom: 8px;
  font-size: 14px;
  color: #717171;
}
.fS {
  font-size: 14px;
}
.w80 {
  width: 80%;
}
.repair {
  font-size: 14px;
  color: #3a3a3a;
  font-weight: 560;
  margin-bottom: 8px;
}
.noDeduction {
  text-align: center;
  margin-top: 48px;
  img {
    width: 160px;
    margin-bottom: 15px;
  }
}
.reduceDetail {
  // color: rgb(64, 158, 255);
  margin-left: 10px;
  // text-decoration: underline;
  cursor: pointer;
}
.jumpBtn {
  width: 136px;
  height: 36px;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}

.projectInfo {
  font-size: 0;
  line-height: 14px;
  // padding-left: 24px;
  margin-top: 10px;
  .line {
    border-right: 1px solid #aaa;
  }
  span {
    display: inline-block;
    font-size: 14px;
    color: #666666;
    font-weight: 400;
    padding-right: 10px;
    margin-right: 10px;
  }
}
</style>
